package proxy.staticproxy;

public class Client {
    public static void main(String[] args) {
        //创建目标对象(被代理对象)
        ITeacherDao teacherDao = new TeacherImplDao();
        //直接调用
        teacherDao.teach();

        System.out.println("----------------------------以上是直接实现输出的内容---------------------------");
        System.out.println("----------------------------以下是代理输出的内容---------------------------");

        //创建代理对象, 同时将被代理对象传递给代理对象
        TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(teacherDao);

        //通过代理对象，调用到被代理对象的方法
        //即：执行的是代理对象的方法，代理对象再去调用目标对象的方法
        teacherDaoProxy.teach();
    }
}
